package multithread.framework.threadpool;

import multithread.framework.threadmethod.IThreadMethod;

/**
 * 
 * trigger for {@link ThreadExecuteListener}
 */
public interface ThreadExecuteTrigger {
	public void fireThreadBefore(Thread t, Runnable r);

	public void fireThreadAllBefore();

	public void fireThreadGroupBefore(IThreadMethod threadMethodGroup);

	public void fireThreadGroupAfter(IThreadMethod threadMethodGroup);

	public void fireThreadAfter(Runnable r, Throwable t);

	public void fireThreadAllAfter();
}